/**
 *
 */
package cn.xiaolang.function.reflex;

/**
 * 反射获取全类路径
 *
 * @author fuhw
 * @date 2017年8月16日 下午6:31:27
 */
public class AssignableDemo {

    /**
     *  isAssignableFrom 判断一个类是否是另外一个类的父类或同类:
     *  <p>
     * false
     * true
     * true
     * true
     * false
     *  </p>
     */
    public static void main(String[] args) {
        System.err.println(InnerClass3.class.isAssignableFrom(InnerClass2.class));
        System.err.println(InnerClass3.class.isAssignableFrom(InnerClass1.class));
        System.err.println(InnerClass1.class.isAssignableFrom(InnerClass1.class));
        System.err.println(InnerClass2.class.isAssignableFrom(InnerClass4.class));
        System.err.println(InnerClass4.class.isAssignableFrom(InnerClass2.class));
    }
}

class InnerClass1 extends InnerClass3 {
    public InnerClass1() {
        System.out.println("Inner Class1");
    }
}

interface InnerClass2 {

}

class InnerClass3 {
    public InnerClass3() {
        System.out.println("Inner Class3");
    }
}

class InnerClass4 implements InnerClass2 {
}